CPUのオーバークロックの基礎
CPUには動作周波数(動作クロック)というものがあり、多くの人にとってそのCPUの性能を考える上で最も関心を寄せる事項であろう。むしろCPUには他にカタログスペック的なものがないので、唯一の関心事といえるかもしれない。
しかしCPUにはRISCやCISCといった基礎的な違いがあり、動作周波数的に言うと到底同日には語れない。RISCプロセッサーであるDECのCPU Alphaチップは既に500MHzに達しており、だからといってPentiumII-266MHzの倍の性能が出ている訳ではない。
また同じCISCプロセッサーでもPentium, Pentium-II, K6, 6x86MXといったアーキテクチャの違いも無視できることではない。事実6x86MXなどCyrixのCPUでは正式な(実際の)動作周波数ではなく、性能的に同一であるという意味のPentium-Rateという表現方法を用いている。
またパソコンの性能はCPUだけで語れる訳でもない。チップセット、メモリ、二次キャッシュ、ビデオなどパソコンの性能に、特にその速度だけに絞ってみても、それを左右する要素は枚挙に暇がない。
確かにパソコンにとってCPUの動作周波数だけが全てではない。とはいえCPUがパソコン性能の中で中心的なものであることは眼前たる事実であり、その中で動作周波数は最も重要な要素であることには変わりない。同じアーキテクチャであったり、他の条件が同じなら、やはりクロックの高いもの方がリニアに性能がいい。CyrixがPentium-Rateなどというものを用いるのも、詰まることころ動作周波数というものが非常に重要な尺度であることを証明しているようなものである。結局ユーザも、そしてそれゆえに技術者も高クロックを求めてやまない現実がそこにある。
CPUの動作周波数は、自動車のエンジンの最高出力などとは大分違います。エンジンの最高出力の場合,そのエンジン自身がその力を出し、またそこまでしか出せないというもので、文字通りそのエンジンが出すことができる最高の力です。ある意味で能動的な性能評価ということになります。
一方CPUの動作周波数の場合、CPU自身が出すものではありません。外部からCPUに対して与えるものです。CPUでは周波数を自ら作り出すことはできません。こちらはどちらかというと受動的な要素ですね。
高い周波数を発生させること自体はとても簡単です。単なる水晶発振子が作り出す特定の周波数を適当に倍増すればいいだけですから。500MHzでも1GHzでも発生させるだけなら簡単にできます。ですから誤解を恐れずに言えば、いくらでも高い周波数をCPUに与えることはできてしまうのです。
問題はその周波数でちゃんと動くのかということで、これに突きます。CPUには動ける速度の周波数というのがあり、与えられても動けない速度があります。つまりある一定の周波数以上では、着いて来れないという状態になります。この着いて来れないというのはどういう状況なのかを説明しだすと大変なのでここでは省略します。(もしがんばってそれも勉強したい方はこちら「ICの周波数」(工事中)をどうぞ)いずれにしてもCPUには着いていける周波数というのがあり、正確には動作保証上限周波数というべきでしょう。
まあ子供に説明するような表現をすれば、CPUが「僕はこれくらいの速度なら十分動けるから、その速度で動かしてもいいよ」というのがそのCPUの動作周波数です。
ところで動作を保証する訳ですから、ほぼ動ける程度では困ります。エンジンの最高出力の場合、メーカーは別に保証している訳ではないし、その出力がでなくても別段不都合はありません。どのみちそんな瞬間は殆ど無いのですからね。実際カタログ通りの出力がでるエンジンは殆どありません。しかしCPUの場合、周波数を公称したら常時その速度で動かされてしまう訳です。何時間も連続で使われるかもしれません。ですからどのような状況でも動けるような、自分の能力に対し十分余裕のある周波数を公称するはずです。いわゆるサバを読むということですね。こういうのを良くマージンを設けるなんて言いますよね。
で、実際どれくらいのマージンを設けているかなのですが、正確なところは分かりませんが、もし製品がとても安定した性能をもっていて、固体差がない、つまり製品にばらつきがない場合はそれほど大きなマージンを設けなくても安全でしょう。しかし性能がシビアなハイテク製品の場合、小さな要素でも全体として大きな性能差の原因になるため、比較的ばらつきの大きい製品にならざるを得ません。CPUはハイテク中のハイテク製品ですから、今日の厳密な工業製品の中でもかなりばらつきの大きい製品であるようです。当然大きなマージンを設ける必要が出てきます。
このマージンの大きさこそがCPUのオーバークロックの成功率を高めている最大の理由です。
実際Intelなどでは、Pentiumは例えば133MHzと166MHzを別の製造工程で作っている訳ではなく、それこそ200MHzも含めて、全て同じ製造工程で作られいるそうです。思ったより製造工程がおおざっぱなのに驚いた人もいるでしょう。
つまり初めから厳密に何MHzをいくつ作ろうという計画があるのではなく、出来あがったもので、検査によって動作周波数が決まるという筋書きです。ですからよく「今はまだ300MHzは数がとれない」なんて言い方をします。
基本的には、高い周波数の方が出来上がる可能性が低い、つまり数が少ないので、市場原理から価格が上がる。ちょうど一つの木材から、正目のきれいな材木はあまり取れないので高くなり、節のある汚い部分はたくさん取れるので、安いベニヤの材料にといったものと似たようなものです。
同じように作りながら、133MHzでしか動かないものと200MHzで動くものが出てきてしまうのですから、相当なばらつきですよね。そのためかなりのマージンを設けて最終的な刻印がなされる訳です。
どうです? これを聞くとなんかオーバークロックってできて当たり前のような気がしませんか? ではもう少し製造工程の話をしましょう。
製造工程とは、具体的には工場の生産ラインのことですが、Intelの場合、Pentium, MMX Pentium, PentiumPro, PentiumIIなどアーキテクチャ毎に製造工程が別れており、前述のように動作周波数別には別れていません。一方CPUのようなICの場合、よく0.35ミクロンの工程というような規模で表現される場合があります。これは上記のアーキテクチャ毎の製造工程分類より、遥かに大きな概念です。ここ1年ほどのCPUだけでなく、多くのICの標準的規模が0.35ミクロンです。
この0.35ミクロンというのは、そのICの製造工程が、しいてはそのICがどれくらい微細なものなのかを表わす尺度なのですが、具体的にはICの配線の太さを表現しています。もちろんICは配線だけでできている訳ではなく、無数のトランジスタがあり、その大きさも重要ですし、現実にはいくつかの層(レイヤー)にも別れているのでその厚さもありますが、まあ業界上の約束事として配線の太さで代表しているのでしょう。
前述のように、現在のパソコン用のCPUの殆どは0.35ミクロンの製造工程で作られています。Pentium, MMX Pentium, Pentium-II, K5, K6, 6x86MXなど皆0.35ミクロンです。しかし少し前まではPentiumなどは0.6ミクロンでした。そして今、IntelだけでなくAMDやCyrixなど互換チップメーカーも0.25ミクロンに移行しようとしています。既に現在のノートパソコン用のMMX 233MHz CPU(製造コードTillamookとよばれている)は0.25ミクロン工程で作られています。今後はPentium-IIなども次のDeschutesで移行する予定ですし、AMDなども既に生産ラインが整っているという情報です。
もっとも現在の0.35ミクロンの製造工程も一律ではなく、数々のマイナーチャンジが行われてきたはずです。使用材質の改良、レイザービームの改良など。また多少の論理レベルの改良もあるかもしれません。実際0.35ミクロンの発足当時166MHzが最高でした。多分このころは、たとえば製品発生率が、120MHzが40%、133MHzが30%、150MHzが20%、166MHzが10%といったところだったのでしょう。これが工程の改良により、やがて200MHz品が発生するようになり、166MHz品の発生率が高まる。MMXでは233MHzも登場した。
同じ規模の製造工程でありながら、当初存在しなかった200MHzや233MHzが登場し、高価だった166MHz品が安くなってくるのにはこうした理由があるのです。
それでも製造工程の規模の違いはその概念が示すように非常に大きいです。事実現在の0.35ミクロン工程ではもう300MHzが限界であるといわれています。もう小手先の変更、つまりマイナーチェンジでは追いつかず、0.25ミクロン製造工程への移行という製造工程のフルモデルチェンジをしなければならないところまで来ているというわけです。
ところで300MHzが0.35ミクロン工程と0.25ミクロン工程の境目になるであろうように、0.6ミクロンと0.35ミクロンの境目は120MHzだったと言われています。ですから多くの120MHz品は0.6ミクロンで製造されていましたが、0.35ミクロン工程からも多少生産されています。この場合当然0.35ミクロン工程の120MHz品の方がオーバークロック耐性が高いと考えられます。
更に次のような興味深い事情もあります。たとえば0.35ミクロン工程がマイナーチェンジを繰り返すうちに、120MHzより133MHz品の方の発生率が高まるという現象が当然起きます。こうなってくると市場原理的には133MHz品の方が安いという逆転現象も起きます。一方パソコンメーカーや市場にそんな事情がすぐ影響する訳ではなく、販売戦略的に120MHzが必要な場合がある。ここでメーカーから120MHzの注文が大量に来て、在庫が無い場合、CPUベンダーは迷うこと無く133MHz品を120MHzとして出荷するでしょう。市場経済とはそういうものです。
このように既に発生率の高くなった周波数品をより低い周波数の製品として在庫調整的に出荷することは珍しいことではないようです。このことはあらゆる周波数同士で起こりうる訳ですが、特に製造工程フルモデルチェンジの境目というか、新規模工程時の最低周波数品は早くから発生率が減少する可能性が高いので、このようなことが行われる可能性がより高いと言えます。
あるメーカーからの大量注文によって上記のような出荷が行われた場合、そのメーカーに対しても,ましてや世間に対し、そのような事情をCPUベンダーが公表することはまず考えられません。しかしどこからか漏れる可能性がある。富士通 FMV-DESKPOWER Pentium 120MHzの場合、その可能性がきわめて高い。どこからか漏れでたこの事情が市場に広まった。実際やってみるとほとんどが133MHzで動く。もちろんIntelも富士通も一言もそんなことは言ってないし、私も伝聞情報だけなので、全く保証の限りではありません。オーバークロックしてみたい人は全て自分の責任で行って下さい。
あとよく「このロットはオーバークロック耐性が高い」という噂が流れたりします。「ロット」というのは製造の1区切りのようなもののようですが、私もよく分かりません。ただ製造もただ無計画にのべつ幕なし行われているわけではないようで、いくつかの区切りを持っているのようで、これをロットというみたい。そしてあるロットでは突如非常にオーバークロック耐性の高い製品が出てくることがあります。上記のFMVの話もつまりはあるロットが特に耐性が高く、それが富士通に流れたという1場面でしょう。しかしその理由がFMVのように多少類推できるものと全然分からないものがあります。
大分、うんちくが長くなってしまいましたが、実際のオーバークロックの方法と現実の問題点にはいりましょうか。これに関しては紙面を改めましょう。こちらへどうぞ。
そもそもCPUの動作周波数って何?
どうしてオーバークロックって可能なの?
ばらつきと製造工程
そして出来上がったものを検査して、そこで150MHzに合格したものを133MHzとしてとか、200MHzの検査に合格したものを180MHzとして、ここで初めて振り分け、刻印をし出荷するのだそうです。
製造工程とは何か?
製造工程規模移行の境目
富士通 FMV-DESKPOWER Pentium 120MHzの場合
MMX Pentium 200MHz SL27Jというロット
最近ではMMX Pentium 200MHzの「SL27J」というロットが非常に耐性が高く、233MHzは余裕で、266MHzも結構行けて、300MHzも出来たという報告があり、一時期秋葉などで大変話題になりました。これも理由はいろいろ取りざたされていますが、実のところよくわかりません。また同じロットでも更にリビジョンのようなものがあって、あるリビジョンでは、後で説明するリミッターがかかっていて、設定を上げることすらできないものもあり、情報が混乱していました。しかしまだ市場にはこの高耐性のSL27Jロットが残っているようです。興味のある人は探す価値はありそうです。
オーバークロックの方法
・目次へ